home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr23
/
zyg_90.zip
/
ZYGOTE.DOC
< prev
next >
Wrap
Text File
|
1995-04-03
|
70KB
|
1,297 lines
NTM technologies
Documentation file
For version 9.0
Zygote Telecommunication (TM)
(C) Copyrighted 1989-95 My Nguyen, All rights reserved
Distributed since 1989
▌ Introduction ▌
NTM technologies offers the next generation of telecommunication
software for the personal computer. It was developed and began
distribution in 1989. Zygote is a complete telecommunication
package that can emulate ANSI, AVATAR, and VT100 terminals at
excess speeds of 57600bps. The design of this program features an
array of extra features not found in more standard commercial
programs. The emphasis of this program is to provide the user
with ease of use, flexibility, little memory requirement, and
stable high speed performance. Some features are:
- 1.7meg scrollback buffer
- full ansi hostmode
- encryption email
- individual notepad for each entry
- complete configuration of keyboard
- grab/paste
- keyboard lock
- string macros
- screen and text capture
- toll reporter
▌ Disclaimer ▌
NTM technologies and its associates shall not be held responsible
for any unforseen damages on hardware and/or other software, or
other consequential damages arising out of the use of this program.
By continuing to use this program, the user agrees to all terms
written and unwritten. In short, use at your own risk.
▌ Distribution concept ▌
NTM technologies is distributing Zygote as a Shareware product.
Shareware allows you to "try before you buy." You are authorized
to use this program for 14 days. After this evaluation period you
must register the program if you decide to continue to use it.
Fill out the REGISTER.TXT file and send it in. Please help
distribute the program by sending it to the bulletin boards
that you frequent. Give out a copy to your friends but don't modify
anything. The quality of the program will speak for itself. The
copy of the program you are using now is an UNREGISTERED version.
Registration insures future developments. Registered users will have
access to more advance features, and removal of unregistered-tags.
Help keep software prices low by taking part in Shareware; register
your Shareware programs.
▌ Table of content ▌
Topic Page #
────────────────────────────────────────────────────────────
System requirement................................... 1.0
Terminal mode........................................ 2.0
Internal protocols................................... 3.0
Keyboard configuration / Disk Swap................... 4.0
Dialing menu......................................... 5.0
Script system........................................ 6.0
Remote control access................................ 7.0
Area locator and toll call reporter.................. 8.0
List of runtime errors............................... 9.0
New features & Bug fix............................... A.0
────────────────────────────────────────────────────────────
▌ Page 1.0 - System requirement ▌
- DOS v3.0 or higher
- a modem supporting the AT command set, 300-57600bps
- updated external protocols
- 185K of primary memory.
- 2.0megs of secondary storage.
The cities data files require much space. These files are optional.
If you do not wish to know the city of the bulletin boards that you
call to, then simply delete the following data files from your
Zygote directory:
Z_AREA2.DAT
Z_AREA3.DAT
Z_AREA4.DAT
Z_AREA5.DAT
Z_AREA6.DAT
Z_AREA7.DAT
Z_AREA8.DAT
Z_AREA9.DAT
These files combine for a total of about 1.5Mb (75%).
Read the "AREA LOCATOR AND TOLL CALL REPORTER" section if
you would like to take advantage of these files.
▌ Page 2.0 - Terminal mode ▌
In the terminal mode, a single character (such as the letter 'a')
pressed on the keyboard will be sent to the local modem, and from
there across the phone line to the receiving modem. A combination
key (such as Alt-A) or a function key (such as F1) will bring up
a Zygote function if that combination key or function key has been
assigned a function. The terminal mode is distinguished by the
status bar at the bottom of the screen. Here is the complete
listing of the default setting for Zygote functions. Each Zygote
function is assigned a "function name". You will need to know this
"function name" further down the line, if you wish to modify the
default keyboard setting. If you want to change these settings then
read the section 'KEYBOARD CONFIGURATION / DISK SWAP'.
Key Title Function name
───────────────────────────────────────────────────────────────────────
Alt-A : Ascii chart @ASCIICHART
This function displays a set of extended ascii characters.
Choose a character by using the arrow keys. Once you have
decided which one you want, press <ENTER> to accept it else
press ESCape to exit. This function is global. That means
you can also use it in other places. You may use it in
places where editing is permitted, such as the notepad,
dialing menu, macro menu, etc.
Alt-C : Capture toggler @CAPTURETOGGLE
Use this function to buffer the modem text into a file.
You may also wish to capture graphics codes as well as
"pure" ascii. To include graphics codes, answer "Accept" to
"Keep emulation codes". To activate the capture, move the
hilight bar to the top and press <ENTER>. To deactivate
the capture, press the key combination once again. This key
combination toggles the capture mode on and off. If capture
is currently active, then Zygote will automatically toggle
it off and vice versa.
Alt-D : Dialing menu @DIAL_MENU
The dialing menu is the phonebook of every term programs.
This is the place where phone numbers to the bulletin
systems are stored and dialed. The phone entries are
created and modified here. To return to the terminal mode,
just press the "escape" key.
Alt-F : File directory lister @DIR_LISTER
Use this function to list the files in a directory. Use
the up and down arrow keys to slide through the listing.
If the hilight bar is on a directory entry, simply hit
the carriage return to go into that directory. Press the
"escape" key to return to the terminal mode.
Alt-G : Grab text @GRABTEXT
This function "grabs" a string of text on the current
screen and stores it in a buffer. You can print out this
buffer by using the "stamp text" function. Unlike other
functions where you are limited to the terminal mode, you
can use this function wherever you are allowed to edit a
string. For instance, you can use this function while
you're editing in the macro menu or editing in the dialing
menu. The buffer initially is blank. The buffer does not
change until the next grab text function is called. After
the grab function is activated, use the up,down,left, and
right arrow keys to move the cursor about the screen. Move
the cursor to the head of the text you wish to grab. When
you are ready to start grabbing text, press the space bar.
You will notice that the text under the cursor will be
hilighted by a different color. The cursor disappears
momentarily. Use the right arrow key to move the hilight
over the text you wish to grab. Notice, you will not be
allowed to move the hilight left, just right. So place the
cursor at the leftmost position of the text. If you wish to
store the hilighted text in the buffer, then press the
carriage return else if you wish to capture a different piece
of text on the screen, then toggle the hilight off by pressing
the space once again. The hilight will now be the cursor you
started out with. You will now be allowed to use the up,down,
left, and right arrow keys to once again move the cursor around
the screen. If you wish to leave the grab text function, press
the "escape" key. Zygote will return you to the task you were
performing before calling the grab text function.
Alt-H : Hangup @HANGUP
Use this feature to take the modem off hook. Zygote will
ask if you would like to drop carrier. You will be prompted
for two modes of disconnect. Make your choice and then
press enter. Press escape to cancel.
Alt-J : Jump to DOS @DOSSHELL
This function temporarily drops the user to the DOS level.
Zygote is still available in memory. To return to Zygote,
the user must type 'exit' followed by a carriage return.
Alt-K : Keyboard Lock @KEYLOCK
When activated, this feature provides a temporary
password protection for access to the keyboard. If a
button on the keyboard is pressed while the lock is turned
on, it will prompt for the password. You must have the
correct password to proceed. If the lock is off and you
activate the keyboard lock, it will prompt you for a
password to use. Just don't forget the password.
Alt-L : Load script @LOADSCRIPT
This feature does just what it says. It will prompt
you for the name of a script file. Enter a filename
and press enter. Press escape to abort.
Alt-M : Macro menu @MACRO_MENU
Use this function to write string macros. Zygote supplies
the user with 10 different macro menus (numbered from 0 to 9).
Each macro menu has 6 entries. Each entry is 250 bytes long.
To switch between the macro menus, use the page up and page
down keys. To scroll through the 6 entries in each menu, use
the up and down arrow keys. To slide through an entry, use the
left and right arrow key. To exit the macro menu, press the
escape key. The macro menu that is currently on the screen
when you press escape is the macro set (6 entries) that
Zygote will use.
Alt-N : Notepad @NOTEPAD
A notepad is a space set aside for the user to enter
pertinent information about the current bulletin board
system. Each phonebook entry is allocated a notepad entry.
if you activate the notepad, Zygote will check to see if
that current bulletin board entry already has a notepad.
If it doesn't, Zygote will create a blank notepad. If it
does, Zygote will display the old notepad. You may then
edit the notepad. So when the phonebook file is created,
there are no notepad entries. Notepad entries are created
as needed. Use the up,down,left and right arrow keys to
maneuver the cursor around. If you would like Zygote
to display the notepad on connection to the bulletin board
system then toggle the 'Toggle notepad' on in the dialing
menu editor. Press 'escape' to exit and save. When you
are connected to a bulletin board, Zygote will check to see
if you had toggled the 'Request' on. If so, it will display
the notepad. Then press the 'escape' key to exit and save.
Alt-O : Setup @SETUP_ZYGOTE
Zygote uses the information (such as the com port, speed,
parity, stop bit, and data bit) set in the configuration to
startup Zygote. This section has a one-line help for each
edit field. So it will be very easy to setup.
Alt-P : Parameter change @CHANGEPARMS
This function temporarily changes the terminal parameters
such as the graphics, speed, parity, data bit and stop bit.
It is temporary because once Zygote exits, the parameters set
by this function is void. Zygote uses the parameters set in
the configuration file as the startup parameters. Also, when
Zygote dials a phone entry in the dialing menu, it overrides
the parameters set in this function by using the parameters
set in the dialing menu entry.
Alt-Q : Quick binary file reader @BINARY_READER
You may capture the screen into binary files by using the
Screen Dump feature (will mention later). The files created
by that function can be viewed by this function. When this
function is activated, a menu will be displayed on the screen
with the name of the file created by the Screen Dump function.
Use the up and down arrow keys to choose the file you want.
Press enter when you want to view it. If you would like to
exit, then press the 'escape' key. Note, if there are no
files created by the Screen Dump feature then Zygote will
not load up the binary reader.
Alt-R : Toll reporter @TOLLREPORTER
Enter a phone number then the program will determine
the city it is in and whether it is toll or non-toll
from your area code. To make this work, however, you
must have the Z_AREA?.DAT and Z_LOCAL.DAT files
installed in your AREADATA directory (off of the main
zygote directory). Also you will need to know how to
operate the grab text feature. If you don't, now is a
good time to learn it. You can read about it in this
section under "Grab text" sub-entry.
Alt-S : Stamp text @STAMPTEXT
The text saved by the Grab Text function can be printed
by this function. If you are in the terminal mode, Zygote
will send the text directly to the modem. This function can
also be used globally. If you are editing something (such as
the notepad, a bulletin board entry, or a macro entry), then
Zygote will paste the text to the current line. Note, this is
not the same thing as sending the text to the modem.
Alt-T Text search @TEXTSEARCH
Use this function to search for a word or phrase match
while in the terminal mode. The program searches for
the match phrase in the current screen. All successful
matches will be highlighted. You can also use this
function while viewing the scrollback.
Alt-W : Clear screen @CLRSCREEN
Simply put, clears the screen.
Alt-X : Exit Zygote @EXITWINDOW
Do you want to quit Zygote? If so, you can use this
function. Move the hilight bar to the appropriate
choice and press enter. If you wish to cancel then press
the escape key.
Alt-Y : BBS stripper @BBS_STRIPPER
This function reads a text-formated file containing the
names and phone numbers of bulletin board systems, and
strips from it all the systems that are local to your
calling area. Local-call determination is done via the
information stored in your Z_LOCAL.DAT file. If you
haven't created this file for yourself, please read the
documentation file now. The output will be stored in the
BBSLIST.ZYG file, which will be placed in the TEMP
directory. This TEMP directory resides off of your Zygote
directory (i.e C:\ZYGOTE\TEMP). Note that this function
will not work if you do not have the Z_LOCAL.DAT file
installed on your system. The format of the output file
BBSLIST.ZYG will also be in text format. You can use a
text editor to view it, or DOS-command TYPE.
Alt-Z : Send break @SENDBREAK
Zygote will send a break signal to the remote system for
a break in transmission. There will be about a 1/2 second
delay. This will allow the remote system to notice it.
Alt-- : Encrypt messsage @ENCRYPTMSG
This function allows the user to send "private" email.
The algorithm used in the encoding/decoding of these
"private" emails is very simple. It was designed with
the intention that it would annoyed prying eyes rather
then to really protect top secret information. It
probably wouldn't take someone with a little experience
very long to break the code. You will be asked if you
would like to also assign a password to the message. If
you answer yes, then you will be prompted for one. Note
that the person who is to receive your email must also
know this password. This feature works best on bulletin
boards that have full screen editors. It might not work
with single line editors. But then it might, who knows?
Alt-= : Host mode @HOST_MODE
A host mode is a simplify BBS system. I do emphasize the
word "simplify." You can send messages, and transfer files.
The host mode is set up for ANSI graphics. If the user who
logs on to the host mode does not support graphics, you will
still be able to viewer it in color. The host mode is
relatively easy to use (just as everything else in this
program). You just need to play around with it.
Ctrl-2 : MiniDOS system @MINIDOS
A MiniDOS is just as it sounds, a "mini" DOS. Once you
activate it and you need help, press "?" and hit enter.
A MiniDOS is different from the true DOS shell because
you are limited to the commands found in the real DOS shell.
Also you will not be able to run any other program in it.
So why have it? Well it does allow you and a remote user to
view your system. The MiniDOS uses ANSI graphics. If the
remote user does not support ANSI then you can toggle the
ANSI off by issuing this command "TOGGLE ANSI" follow by
a carriage return. Note, this command is issued once you
are in the MiniDOS. Do not activate this feature when you
are connected to a BBS. You may be trapped in a loop.
F1 : Send user name $%Ua
Sends the name you want to use for the current BBS.
Use the dialing menu editor to change your setting.
F2 : Send user password $%Ub
Sends the password you want to use for the current BBs.
Use the dialing menu editor to change your setting.
F3 : Send your LFD $%Uc
Sends the last four digits of your phone number.
Use the dialing menu editor to change your setting.
F4 : Send the NUP $%Bd
Sends the New User Password for the current BBS.
Use the dialing menu editor to change your setting.
F5 : Send macro string 1 $%Ma
F6 : Send macro string 2 $%Mb
F7 : Send macro string 3 $%Mc
F8 : Send macro string 4 $%Md
F9 : Send macro string 5 $%Me
F10 : Send macro string 6 $%Mf
Sends macro entry 1 through 6.
Use the macro editor to change your setting.
Alt-F1 : Screen dump @SCREENDUMP
This feature captures the screen to a file and places
it in an assigned directory. The format for the file
will be binary form. To view the files you can use
the quick viewer option discussed above. This feature
is global. That means that you can use it either in
the terminal mode, or wherever editing is allowed. There
are other places but you will need to experiment.
Alt-F2 : Cancel autologon and script @CANCELAUTO
This feature toggles both the autologon system and
script system off.
Alt-F3 : Chatmode @CHATMODE
When activated, the screen will be split into two sections.
There will be an upper section and a lower section. The
upper section will display incoming text. The lower section
will display outgoing text. This makes it easier to read
when you are having a conversation with your friend using
the modem. This feature is only useful when you are
connected to a source that does not echo back the characters
that you sent. To exit the chatmode press the escape key.
Alt-F4 : World time @WORLDTIME
This displays the time for various locations around the
world. Make sure that you enter the time difference in
the system configuration, and toggle daylight saving
if appropriate.
Alt-F5 : View background @BACKGROUND
This does just what it says. For example when you
do a DOS shell, before you return to the program
Zygote saves the screen. So when you issue this
command you can view the screen prior to the return
to the program.
Alt-F6 : History @HISTORY
When you do a grab text command, information is
saved in a buffer allocated for 10 different slots.
Use this command to move the pointer to which slot
you want. The slot you move to will be the next slot
text will be written to or read from. Press enter
to accept the slot, or ESCape to leave the history
unchanged.
Alt-F7 : 4F calculator @CALCULATOR
This is a simple 4 function calculator. So what's
2+3?
Alt-F8 : Doorway mode @DOORWAY
This toggles the doorway mode. When you toggle the
doorway mode on, you will be not able to use the
alternate keys and function keys. Instead, what the
program does instead is send the scan code for the
key that you press. You can toggle the doorway mode off
by pressing Alt-F8 again.
Alt-F9 : Board help @BOARDHELP
Use this feature to save and restore help screens of
the remote system. Here is how it works: first issue a
request for help on the remote system, usually '?'. Now
activate this feature.
What section of the system are you at?
Main : press 'M" to save
File : press 'F' to save
Messg: press 'E' to save
Other: press 'O' to save
Make sure you use upcase. The program will save whatever is
on the screen to the appropriate files. If you want to
restore a help screen, then use the same letters (except
this time use lower case) to choose the appropriate screens
to restore.
Alt-F10 : Printer toggle @PRINTER
This function toggles the printer on and off. Make sure
you have the system configuration setup to the correct
LPT port.
Ctrl-F1 : Anti-logoff @ANTIOFF
Use this function when you leave your terminal unattended
and don't want the remote system to quit the session
because of "keyboard inactivity." Zygote prevents
the system from hanging up by tricking it. By default
Zygote will send an escape character every 30 seconds to
make the system believe that you are still sitting at
the terminal. You can change the character setting and
the frequency setting in the system setup. To turn this
function off, simply hit the same key combination.
Ctrl-F2 : Send time and date $%T %D
Sends the time and date to the remote modem.
Ctrl-F3 : Modem commands @MODEMCOMMAND
Sends predefined modem commands to the modem. You can
define these modem commands from within the system
configuration option.
Ctrl-F4 : Ring monitor @RINGMONITOR
When activated, the program monitors the phone line
for the 'RING' signal. The status window displays
the last twenty sets of calls. It displays the
number of rings and time and date for each sets.
Use this function when you want to know when someone
calls while you are away. You can also use this function
to execute a program by a sequence of rings. In the
agenda window, the first definition will be displayed
as
toggle sequence action
1 A
Press 1 to edit. First you will have to edit the
sequence field. And then followed by the action field.
After you finish editing both fields, press A to toggle
this definition on/off.
Example: 1 A 323 myprogram.exe
This definition tells the program to wait for the phone
line to ring a total of 3 sets. The reason it is three
sets of rings is because there are 3 digits in the sequence.
The set '323' tells the program to wait 3 rings for the
first set, followed by 2 rings for the next set, and finally
3 rings again for the latest set. You have to toggle this
definition on for the program to check the sequence. You
know that the definition is toggled on by the '!' char
printed next to the 'A.'
Ctrl-F5 : Big clock @BIGCLOCK
Displays a big time and date clock on the screen.
Ctrl-─ : Send string backward @BACKWARDSTEXT
A window will pop up and ask for a line. Enter it and
press enter. The line that you entered will be sent to
the modem in reverse order. If you want to cancel then
press escape to exit instead.
Ctrl-─ : Scrollback @SCROLLBACK
A scrollback is a buffer that stores all the text that
is received from the remote system for later viewing.
Once you are in the scrollback, use the up arrow, down
arrow, page up, page down, home, and end keys to scroll
through the buffer. Press the escape key to exit the
viewing. The grab text and screen dump features also work
while you are in the scrollback.
Shft-F1 : Send real name $Uf
Shft-F2 : Send address $Ui
Shft-F3 : Send city/state $Uj
Shft-F4 : Send voice phone number $Ug
Shft-F5 : Send data phone number $Uh
Shft-F6 : Send birthday $Ue
Shft-F7 : Send comment $Ud
Shft-F8 : Send internet address $Ea
Shft-F9 : Send fidonet address $Eb
Shft-F10: Send other net address $Ee
Page Up : Activate upload sequence @UPLOAD_FILE
Activate this when you are about to start a transfer.
A window will pop up with a list of protocols. Choose
a protocol to use and press enter. After the protocol
selection you will be prompted for the file(s) to send.
Page Dn : Activate download sequence @DOWNLOAD_FILE
Activate this when you are about to start a transfer.
A window will pop up with a list of protocols. Choose
a protocol to use and press enter. After the protocol
selection you may be prompted for the file(s) to receive.
If you are prompted then enter the appropriate request
and press enter. Press escape if you want to abort.
▌ Page 3.0 - Internal protocols ▌
Protocols seem to be updated daily. That is the reason that I
favor external protocols over internal ones. People who write
external protocol programs can spend a greater amount of time on
them than I can ever on internal ones. Therefore the quality of
their program will be much higher. With external protocols
you get flexibility and new algorithms that will enhance transfers.
However, I decided to include in the program two of the most common
protocols. They are the industry standard Xmodem and the widely
used Zmodem. Xmodem is the basic of all the protocols. It uses a
checksum algorithm to detect errors. It transfers in 128byte blocks.
It is very slow compared to, say, Zmodem. The reason I decided to
include Xmodem is because most likely every bulletin board system
that you call will have it. It's simplicity is the reason it has
survived all these years. Zmodem is the most efficient protocol in
the market. It has batch transfers. That means you can send/receive
more than one files in one session. It uses a CRC error detection
method. CRC is a billion times better than checksum. Also with Zmodem
you can resume aborted transfers unlike that of Xmodem. Zmodem
transfers data in 1024byte blocks. If you can, use Zmodem before
resorting to Xmodem.
Here is how to tell Zygote that you want to use these internal
protocols. First go into the system configuration, select the
'PROTOCOL OPTIONS' section by using the up and down arrows and
then press enter. Once you are in the protocol options section,
move the new hilighted bar down to the field where it asks you
for the file name of the protocol program and press enter. The
field should read something like '[DIR] + FILE'. If you were
defining an external protocol you would enter something like
'C:\PATH\PROTOCOL.EXE'
But if you want to tell the program that you want to use the
internal protocols then you have to enter one of these names
(without the single quotes of course):
'//XMODEM' ; for Xmodem
or
'//LXMODEM' ; for Xmodem w/ leech capability
or
'//ZMODEM' ; for Zmodem
or
'//LZMODEM' ; for Zmodem w/ leech capability
So if you wanted to use Xmodem then enter it like this at
the appropriate prompt:
[dir] + File : //XMODEM
Easy right? But wait a minute. What is a leech Xmodem or a leech
Zmodem? I'm glad you asked. They are just what they sound like
they are. Zygote is the only program to introduce the first
generation of these leech protocols. Leech protocols behave just
like normal protocols, except for one thing; they abort transfer
when the file(s) have been received. Of course, leeching is only
useful when you are downloading files. So if you specify
'//LXMODEM' and you use this protocol to do an upload, it will not
abort your transfer. Leech protocols only abort during receiving
sessions never during sending ones (obviously). Since Xmodem
can only transfer one file at a time, there is only one method
of cancellation; tell the remote Xmodem the local Xmodem wants to
CANcel the transfer. But with Zmodem batch transfer is allowed.
When batch transfer is in progress, the local Zmodem cannot
simply tell the remote Zmodem to CANcel the transfer. This would
stop the transfer immediately. There might still be more files
to be received. The only way to get around this is to tell the
remote Zmodem that the local Zmodem wants to SKIP the current
file and move on to the next one until the end of the transfer
list. In the system configuration, you have an option for the
Zmodem leech. Choose 'S'ingle file cancellation when you plan
to only receive one file in a session (not batch). If you plan
to do a batch transfer then choose 'B'atch cancellation. The
'B'atch cancellation can also be used when you are transferring a
single file. But sometimes the remote Zmodem doesn't recognize
the request to SKIP for a single file transfer. 'S'ingle
cancellation works better with single file transfers than 'B'atch
cancellation. It is a better idea to tell Zygote that you want
the 'B'atch cancellation method because you can't use 'S'ingle
cancellation when doing a batch transfer. Besides 'B'atch
cancellation more often than not also works with single file
transfers.
Don't expect the leech protocols to work on every single bulletin
board system. There are some Xmodem and Zmodem protocols that
don't recognize your request to SKIP or CANcel. Also, I wouldn't
suggest that you leech too often. That would certainly piss off
the system operators. Actually I wouldn't even advocate the use
of these protocols on any respectable system. But hey, feel free
to use it on your friends. The leech protocols have been tested
on some of the local systems in the area and they have performed
wonderfully. So give them a test drive.
▌ Page 4.0 - Keyboard configuration / Disk Swap ▌
Every aspect of the system configuration is provided with a help
line at the bottom of the screen. You won't need any other source
of help. The configuration options are self-explanatory. However
there is one part of the configuration that may need some explanation.
It is the configuration of the keyboard (Alternate keys and Function
keys). Configuration of the keyboard allows you to change the operation
of the alternate keys and function keys. An alternate key combination
or a function key can be assigned a Zygote function (such as DIALING
MENU), a hot key (such as a call to run a program name EDIT), or a
string macro (such as "I'm using zygote.^m"). When reconfigurating
the keyboard there are four symbols you should familiarize yourself
with: '!', '@', '#' and '$'.
The '@' symbol denotes a Zygote function call.
The '!' symbol denotes a DOS call.
The '$' symbol denotes a string macro.
The '#' symbol denotes a system halt with error level number
When you enter the system configuration move the hilight bar to the
Keyboard edit option and press enter. Once you are in, you will
be shown an 18 by 6 matrix. Use the arrow keys to move the bar
around the matrix. Press enter to choose the key combination that
is hilighted or press escape to exit. Now pick a key combination you
want to change. We will use Alt-A as our example. What do you want
the Alt-A key to do? Do you want it to call a Zygote function (such
as the ones listed in the TERMINAL section)? Do you want it to run
a program in DOS (hotkey)? Do you want it to send a defined string
to the modem? Well here's what you do.
If you want Alt-A to call a Zygote function then it must start off
with a '@' character, followed by the name of the function. For
instance, if you want Alt-A to bring up the DIALING MENU then enter
'@DIAL_MENU'
Of course, don't include the single quotes. The function name is
listed next to the title of the function above in the 'TERMINAL'
help section of this document.
If you want Alt-A to call a DOS program then it must start off
with a '!' character, followed by the file name of the program. For
instance, if you want Alt-A to run a program named EDIT then enter
'!C:\PATH\EDIT'
Of course, don't include the single quotes. Zygote will attempt
to run the program. If the program is in your DOS PATH directory
then you will not need to enter the name of the directory. If
you would like to enter a command line parameter than include
a '%F' in the line. For example,
'!C:\PATH\EDIT %F'
would cause the program to allow you to enter a command line
parameter for your external program EDIT. Continue reading
for more information about other global variables.
If you want Alt-A to be assigned a string macro then it must start
off with a '$' character, followed by the text you want assigned.
For instance, if you want Alt-A to be assigned 'Hello' then enter
'$Hello^m'
Of course, don't include the single quotes. So now whenever Alt-A
is pressed, Zygote will send the text 'Hello' + CR to the modem.
When defining Alt-A as a string macro you may want to take
advantage of global variables. Here is a list of them.
%Ma - macro entry #1 %Ea - Internet address
%Mb - macro entry #2 %Eb - FIDOnet address
%Mc - macro entry #3 %Ec - WWIVnet address
%Md - macro entry #4 %Ed - Virtualnet address
%Me - macro entry #5 %Ee - Other address
%Mf - macro entry #6
%P - current modem comport %Ba - BBS name
%S - current modem speed %Bb - BBS phone
%D - current date %Bc - comment
%T - current time %Bd - NUP
%Ua - your user name %Uf - your real name
%Ub - your password %Ug - your home phone
%Uc - your LFD %Uh - your data phone
%Ud - your comment %Ui - your address
%Ue - your birthdate %Uj - your city, state
I will use %Ma as an example. When you use the macro editor, (read
the TERMINAL section for more details) next to each field entries
is %Ma through %Mf. There are six entries (a-f). %Ma represents
entry #1, %Mb represents entry #2, and so on. So if you define
Alt-A as,
'$%Ma'
then Zygote will replace '%Ma' with what ever is in field #1 of
the macro editor. So if the entry #1 of the macro editor happens
to hold 'Hi there.' then the program will convert
'$%Ma' to '$Hi there.'
There are many global "variables" throughout the program. If a
variable is listed next to an editable field, then you can use
that variable to represent that particular field. Take note that
these global "variables" are case sensitive.
Probably not many people will need to use the '#' symbol command.
Using '#' will allow you to "swap" Zygote out of memory so that
you can run another program, and then return to Zygote afterwards.
If a keyboard key combination setting (such as Alt-A in our example)
starts off with '#', Zygote will stop execution of the program
and return the error code that follows it. So how does this allow
you to run a different program and then return to Zygote? Well you
need a little help from DOS. You will need to create a batch file.
It won't be hard to create or even understand it. Pretend you
have a text editing program named EDIT.EXE. You will need this
EDIT.EXE program to create your text batch file. Here is an example
of what it should look like.
C:\ZYGOTE\> edit zswap.bat ; we'll call the file zswap.bat
--------------------- Once in EDIT.EXE -------------------------
Echo off ; don't echo anything to the screen
:startup ; create label so we can return to it later
c: ; just in case we are not in drive C
cd\zygote ; just in case we are not in C:\ZYGOTE
zygote /n ; run ZYGOTE.EXE without opening screen
; if Zygote returns an error value
; we should check it. That is exactly
; what we do in the next few lines.
if errorlevel 5 goto prog5 ; if error no. = or > 5 do program prog5
if errorlevel 4 goto prog4 ; if error no. = or > 4 do program prog4
if errorlevel 3 goto prog3 ; if error no. = or > 3 do program prog3
if errorlevel 2 goto prog2 ; if error no. = or > 2 do program prog2
if errorlevel 1 goto prog1 ; if error no. = or > 1 do program prog1
goto end ; if NO error then go to the end
; error no. 0 means we want to exit
; the program cleanly.
:prog1 ; create label for program 1
cd\games ; this is the block for our
game.exe ; prog1 label
goto startup ; return to Zygote
:prog2 ; create label for program 2
cd\test ; this is the block for our
dir ; prog2 label
goto startup ; return to Zygote
:prog3 ; create label for program 3
cd\util ; this is the block for our
show.exe ; prog3 label
goto startup ; return to Zygote
:prog4 ; create label for program 4
cd\temp ; this is the block for our
del *.bak ; prog4 label
goto startup ; return to Zygote
:prog5 ; create label for program 5
c:\command.com ; this is how you make a "DOS SHELL"
goto startup ; return to Zygote
:end ; there must be no errors
; so we continue with exit
----------------------------------------------------------------
VERY IMPORTANT: notice how the errorlevel checking, checked from
highest value to lowest value? Well guess what?
You have to do it that way. "ERRORLEVEL number"
returns TRUE if and only if the exit code is equal
to OR greater than the value in 'number.' So if
you did an error level check for 2 ("ERRORLEVEL 2")
and the exit error code is 3, the statement
"ERRORLEVEL 2" would become true and then continue
to execute the following "GOTO" command. Of course
an "ERRORLEVEL 1" would also return TRUE if the exit
code value is 3. This is the reason for the
reverse order errorlevel check. Don't forget this
now!
So if you want to be able to "swap" Zygote out of memory than
run ZSWAP.BAT instead of ZYGOTE.EXE. This method of "swapping"
is much better than the methods adopted by other programs because
you actually get all the memory back. And since Zygote doesn't
require much memory to run, it will startup and exit very quickly.
You can also call another batch from within this batch file but
you have to use the CALL command. Here is an example of what you
need to do: "call c:\where\it\is\mybatch.bat"
What DOS does is 'call' your MYBATCH.BAT file and then return
command back to ZSWAP.BAT when it completes execution in MYBATCH.BAT.
You should consult your DOS manual if you are not comfortable with
batch file programming. So how do you tell Zygote to stop execution
and return an error number? Well that's easy. If you want Alt-A (for
example) to return a number 3 exit error code so that you can run
an offline mail reader, here's what you do:
'#3' ; That's it.
The format is: '#' at the absolute beginning, followed by the error
value you want Zygote to return. '#11' would return
error level of 11, and so on.
You need to know that any key combination must start off with one
of the four characters. If not, then the help screen for Zygote
will be shown. So if Alt-A is left blank and you execute it, Zygote
will bring up the help screen.
▌ Page 5.0 - Dialing menu ▌
The dialing menu and its options are basically self-explanatory
with the exception of:
'execute' field in each entry.
The 'execute' field tells zygote to perform an operation
right after connection to a system has been established.
The operation might be:
(1) loading a program from DOS (perhaps a RIP emulator)
(2) send a string
(3) load a zygote function
To disable this feature, leave it blank.
This feature configures just like a keyboard definition
as described in the section just above. That is it uses
the prequalifiers '!','@','#','$'. So read the section
above if you would like to learn how to configure it.
examples:
$^[^[ <---- sends 2 escape characters
$^m^m <---- sends 2 carriage returns
!ripcomm.exe <---- runs program called ripcomm.exe
!dir <---- directory listing
@HOST_MODE <---- loads hostmode feature of Zygote
@MINIDOS <---- loads minidos feature of Zygote
▌ Page 6.0 - Script system ▌
My intention for the Zygote script system is to make it as easy and
as simple as possible, yet still operational. I've used some of the
"powerful" script systems, and found them hard as hell to use.
Usually when I write a script file, all I want it to do is log on to
the remote system, do a few functions and log off. These script
languages are so "powerful" I bet you could write your own program
with them. I have very little time to read the documents to find out
how to program in these "powerful" languages. So, now I will present
Zygote's simplified script language. I will surely include more
commands in the future as I see fit.
───────────────────────────────
Here is a list of the commands:
───────────────────────────────
GLOBAL="[PAUSE]","^m "; : GLOBAL defines a seeker and sender
that will remain active for the life
of the script file. This example
seeks for the string [PAUSE] and then
sends a carriage return when it finds
it. You are granted five (5) of these
global statements. Define these before
the commands below.
CONST=[$EXIST$],[APPEND];
CONST=[$KEEPEMUL$],[TRUE];
: Use these CONSTant commands in
conjunction with the capture command.
The first CONST statement says to
append a file that exists. The second
CONST statement says to keep the
emulation codes.
exec("DIR /W /P"); : EXEC is used to execute the
program that is specified inside
the quotes. Then do the next command.
goto("STOP"); : GOTO is used to jump to the
line where the label STOP was
defined by the command LABEL.
send("Your name"); : SEND is used to send whatever is
defined between the quotes. Then
do the next command.
quit("YES"); : QUIT is used to quit the program.
You must specify YES between
inside the quotes. This is just a
precaution. Then do the next command.
wait("Name?"); : WAIT is used to wait for a particular
string, defined between the quotes, to
be sent from the remote system. When
the string has been intercepted,
then do the next command. Note that
WAIT is case sensitive.
label("STOP"); : LABEL is used to mark a line. Use
this command in conjunction with the
GOTO command. Label marks a line for
GOTO to jump to. Then do the next
command.
print("something in here"); : PRINT is used to write text to the
screen only. Define what you want
to print between the quotes. Then
do the next command.
hangup("YES"); : HANGUP is used to drop carrier on
a system. You must specify YES
inside the quotes. This is only a
precaution. Then do the next command.
iffind("something in here"); : IFFIND is used as a string seeker.
If the string is found then do the
next command else skip the next
command and perform the one after
that.
capture("c:\path\text.ext"); : CAPTURE opens a file to save incoming
text from the remote system. You must
specify the file to save to between the
quotes. Retype CAPTURE to turn the
capturing off.
─────
Note:
─────
Only put one (1) command on a single line. The program will only
read one command for each line. A blank line will be ignored.
You may indent to beautify the text. Make sure you don't put
SPACEs between the name of the command and the parentheses and
the quote. For example, if you want to use the command SEND
then write it as
send("send my name");
DO NOT write it as
send ("send my name");
send( "send my name");
send("send my name" );
send("send my name") ;
Keep the (, " and ; characters intact.
The whole idea behind the script system is to perform a command, then
jump to the next command and perform it. This continues until the
whole script file is completed.
─────────────────
Here is a sample
─────────────────
GLOBAL="[Y,n]?","^m";
CONST=[$EXIST$],[APPEND];
CONST=[$KEEPEMUL$],[TRUE];
capture("e:\zygote\script\test.cap");
wait("for RemoteBBS");
send("^[^[^[");
wait("name:");
send("%Ua^m");
wait("Password:");
send("%Ub^m");
wait("Main Menu:");
capture("e:\zygote\script\test.cap");
▌ Page 7.0 - Remote control access ▌
This feature allows you to access Zygote from a remote computer. Here
is what you need to do. First you need to have the SCROLL LOCK
turned on (on the local system of course). This is a secondary
protection from unwarranted access to your system. Now from the
remote system, send this command "#SYSTEM¡' (without the quotes
of course). This will initiate the remote access control. The ascii
value for '¡' is value 173. Make your life easier by using the ascii
chart feature described above in the 'TERMINAL' section. Once the
local Zygote has received '#SYSTEM¡' and the SCROLL LOCK is on then
it will prompt you for a password. The password is the one you define
in the system configuration. It is listed under 'SYSTEM CODE'. If you
enter the password correctly then a message will confirm that you
have access to Zygote. Then there will be a 'EXEC:' prompt. This is
where you tell the program what you want to do. The input is the same
as if you are defining the keyboard setup. So if you haven't read the
'Keyboard configuration' section yet, you need to do that now. Here
are some examples of what you might do at the 'EXEC:' prompt.
EXEC : @HOST_MODE ; this executes the hostmode
EXEC : !myfile.bat ; this executes a batch file
EXEC : @MINIDOS ; this executes the MiniDOS system
▌ Page 8.0 - Area locator and toll call reporter ▌
The area locator tells you the name and state of the bulletin
board that you are calling to. The locator only identifies
cities residing in the United States. Since there are many
cities across the US, the files holding the names are extremely
big. There are eight (8) files altogether.
File Size Description xx = denotes some digits
────────────────────────────────────────────────────────────
Z_AREA2.DAT 254976 Cities residing in the 2xx area codes
Z_AREA3.DAT 204928 Cities residing in the 3xx area codes
Z_AREA4.DAT 202912 Cities residing in the 4xx area codes
Z_AREA5.DAT 185280 Cities residing in the 5xx area codes
Z_AREA6.DAT 188896 Cities residing in the 6xx area codes
Z_AREA7.DAT 164736 Cities residing in the 7xx area codes
Z_AREA8.DAT 170336 Cities residing in the 8xx area codes
Z_AREA9.DAT 126112 Cities residing in the 9xx area codes
────────────────────────────────────────────────────────────
1,498,176 bytes
So if you never call to cities located in a particular area code
then just erase the appropriate file from your directory. If you
don't care to know the location to where you are calling then
erase all the files. Zygote will function correctly regardless.
But if you want to use these data files, you have to put them
in a directory name AREADATA. AREADATA must reside in your
Zygote directory (the directory which ZYGOTE.EXE is in).
Zygote can also report if a phone number you are calling to is local.
That is, is it a non-toll call from your area? To take advantage
of this feature, you must create a text file named Z_LOCAL.DAT and
place it in the same directory as the area locator files. Put the
Z_LOCAL.DAT file in the AREADATA directory. Here's what you have
to have in the file.
──────
Sample
──────
If you live in Simi Valley, CA (area code 805) then you are allowed
to call to certain 805 prefixes and certain 818 area code prefixes
without toll charges. But If you also have a home in La Jolla, CA
(area code 619) then you are limited to certain 619 prefixes.
"AC 805,805" and "AC 805,818": for when you are in Simi Valley
"AC 619,619" : for when you are in La Jolla
Remember to enter your current area code in the Zygote configuration.
Zygote needs to know which area code you are calling from. So when you
live in La Jolla tell Zygote that your area code is 619. And when
you return to Simi Valley tell Zygote that your area code is 805. This
is very important since this feature requires the correct area code.
Note: You don't need to know the names of the cities of the prefixes.
i.e. (* Newbury Park *)
┌───────── You need this header notation for each section (started at column 0)
│ ┌───── The area code calling FROM ┌┬┬┬ These PREFIXES are local to the
│ │ ┌─ The area code calling TO │││├ "FROM" area code when calling
into the "TO" area code.
AC 805,805
375,376,498,499 (* Newbury Park *)
521 (* Piru *)
491,492,493 (* Conejo *)
378,523,529,531 (* Moorpark *)
520,522,526,527,581,582,583,584,629 (* Simi Valley *)
371,372,373,374,377,379,494,495,496,497,976 (* Thousand Oaks *)
AC 805,818
597,706,707,879,889,991 (* Agoura *)
222,340,346,347,348,586,587,591,592,593,594,595,596,702,703,704,710,712
713,715,716,719,880,883,884,887,888,992,999,610,876,878 (* Canoga Park *)
341,349,407,700,701,709,717,718,772,773,775,882,885,886,993,998
AC 619,619
259,481,755,792,793 (* Del Mar *)
270,272,273,274,450,452,453,454,455,456,457,458,459,483,488,490,534,535,539
546,551,552,554,558,581,587,597,622,625 (* La Jolla *)
484,538,672 (* Rancho Penasquitos *)
268,277,278,279,292,467,492,493,494,495,496,541,560,565,569,571,573,576,627
694,972,974 (* San Diego/Linda Vista *)
271,530,536,537,547,549,566,578,586,621,689,693,695 (* San Diego/Mira Mesa *)
221,222,223,224,225,226,229,230,231,232,233,234,235,236,237,238,239,260,262
263,264,265,266,275,276,280,281,282,283,284,285,286,287,288,290,291,293,294
295,256,297,298,299,338,491,497,521,523,524,526,527,528,529,531,532,533,542
543,544,553,556,557,563,570,574,580,582,583,584,594,595,685,686,687,688,692
696,699,926,965,968,969,973,975,978,979,982,983,984,986,989 (* San Diego *)
▌ Page 9.0 - List of runtime errors ▌
If Zygote ever halts execution because of a problem, it will
give a runtime error number. Here is a list of the possible
runtime errors Zygote might run into. Report the problem to
the author directly. Be sure to include as much detail as you
can. This will make life easier for both you and the author.
Value The problem
───────────────────────────────────────────
1 Invalid DOS function
2 File not found
3 Path not found
4 Too many open files
5 File access denied
6 Invalid file handle
8 Not enough memory
12 Invalid file access code
15 Invalid drive number
16 Cannot remove current directory
17 Cannot rename across drive
100 Disk read error
101 Disk write error
102 File not assigned
103 File not open
104 File not open for input
105 File not open for output
106 Invalid numeric format
200 Division by zero
201 Range checking error
202 Stack overflow error
203 Heap overflow error
204 Invalid pointer operation
205 Floating point overflow
other Unknown error
▌ Page A.0 - New features & Bug fix ▌
[Version 7.0]
■ Added support for VT100 emulator
■ Assigned directories
TEMP\ holds temporary stuff
HOST\ holds the files for the hostmode
NOTEPAD\ holds the notepad files
CAPTURE\ holds the files used for capture
SCRIPT\ holds the script system files
BINARY\ holds the screen dump files
PHONE\ holds the phone directory files
AREADATA\ holds the area locator/toll reporter files
■ Fixed runtime error #4 at startup
■ Added AVATAR w/ ANSI fallback
■ Fixed runtime error for area locator
■ Added ascii chart feature
■ Added enhance phone directory editor
■ New directory lister
■ Added 10 allocated slots for grab text feature
■ Added history feature
■ Fixed flow control problem RTS/CTS
■ Added local load script feature
■ Changed notepad format (data stored in single files)
■ Changed terminal parameter editor
■ Fixed host mode heap overflow problem
■ Changed host mode opening menu
■ Added chatmode
■ Added worldtime
■ Added calculator
■ Added doorway mode support
■ Added board help feature
■ Added internal Xmodem w/ leech capabilities
■ Added internal Zmodem w/ leech capabilities
■ Fixed heap overflow problem in translation table edit
■ Extended capture buffer to 1024 bytes
■ Added ANSI music support (background)
■ Added FAX support
■ Changed scrollback format
■ Reworked script system, maybe more in the near future
■ Added support for printer
■ Added memory swapping
[Version 7.5]
■ Fixed VT100 "D" command
■ Fixed VT100 "E" command
■ Added Anti-logoff system w/ char & counter specify
■ Fixed scrollback size limit problem, now allows 9999
■ Fixed elapse time counter error
■ Fixed scrollback save mechanism
■ Added key assignment for other string variables
■ New preset modem command
[Version 8.5]
■ New ring monitor
■ Fixed freeze problem at creation of zygote.scl file
■ New big clock
■ Added callwaiting disable/enable toggler
■ Added preset protocol definitions
■ Added auto-answer off preset
■ Added defineable dtr delay
■ Moved translation table edit into system setup
■ New text search command
■ New format for .DIR files (includes converter)
■ Added support for 28,800bps connections
[Version 8.6]
■ Needed to initialize 'execute' field in dial menu
[Version 8.7]
■ Added support for BATCH.LST file, tagged files
■ Fixed problem with toll charge reporter in dial menu
■ New TOLL-REPORTER feature added, ALT-R (default)
[Version 9.0]
■ Added support for 16550 FIFO buffer
■ Fixed hang up problem while using VT100 emulation
■ Program now autoscans for modem port during
initial setup
■ The help screen will now update itself after
a keyboard redefinition in system setup
■ Added a function that will strip out local numbers
from a bbslist text file.
▌ Aside ▌
NTM technologies has been actively developing software for the
personal computer since 1989. Please try our fine line of software
products for your computer.